package com.fzn.spring5.service;

import com.fzn.spring5.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @program: spring5_demo3
 * 描述：  使用注解的方式创建对象
 *      在注解里面的value值可以省略不写
 *      默认值是类名称 首字母小写
 *      // @Component(value = "userService")
 *      // @Controller
 * // @Repository
 * @author: fzn
 * @create: 2022-02-26 18:17
 **/
@Service
public class UserService {

    /**
     * 1. @Autowired 根据类型名称进行注入
     *      @Autowired
     * 2. @Qualifier 根据名称进行注入 但是需要和@Autowired一起使用
     *      @Autowired
     *     @Qualifier(value = "userDapImpl1")
     * 3. @Resource  根据类型进行注入
     *  4. @Resource(name = "userDapImpl1") 根据名称进行注入
     *
     *  5.@Value() 注入字符串注解
     */

    @Resource(name = "userDapImpl1")
    private UserDao userDao;

    public void add() {
        System.out.println("service add.......");
        userDao.add();
    }
}